package com.qf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qf.entity.TbCourse;
import com.qf.utils.ResultMsg;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author 王希卓
 * @Date 2023/7/17 14:20
 * 课程业务接口
 */
public interface CourseService {

    /**
     * 分页查询所有课程
     * @param current 当前页码
     * @param size 每页显示条数
     * @param keyword 关键字
     * @return
     */
    ResultMsg findAll(int current, int size, String keyword);

    /**
     * 页面加载,查询最热及推荐课程
     * @param current
     * @param size
     * @param ststus
     * @return
     */
    Page<TbCourse> findAll(int current, int size, int ststus);
    /**
     * 添加或修改课程
     * @param tbCourse
     * @return
     */
    ResultMsg update(TbCourse tbCourse);

    /**
     * 根据课程id删除课程
     * @param courseId
     * @return
     */
    ResultMsg del(int courseId);

    /**
     * 根据分类查询分页查询课程
     * @param current 当前页
     * @param size 每页显示条数
     * @param typeId 分类编号
     * @return
     */
    ResultMsg findByType(int current, int size, int typeId,String keyword);

    /**
     * 根据课程id查询课程
     * @param courseId
     * @return
     */
    ResultMsg findOne(int courseId);

    /**
     * 根据老师id查询课程
     * @param teacherId
     * @return
     */
    ResultMsg findByTeacherId(int teacherId);

    ResultMsg findOneById(int courseId);

    ResultMsg findOrderPriceByType(int page,int limit,String keyword,String typeName);

    ResultMsg findByTeacherId(Integer teacherId,String keyword);

    ResultMsg uploadImg(MultipartFile file);
}
